Patching Locking Bugs Statically with Crayons
نویسندگان
چکیده
The Linux Kernel is a world-class operating system controlling most of our computing infrastructure: mobile devices, Internet routers and services, the supercomputers. also an example low-level software with no comprehensive regression test suite (for good reasons). kernel’s tremendous societal importance imposes strict stability correctness requirements. These properties make challenging relevant target for static automated program repair (APR). Over past decade, significant progress has been made in dynamic APR. However, APR techniques do not translate naturally to systems without tests. We present technique addressing sequential locking API misuse bugs Kernel. attack key challenge APR, namely, lack detailed specification, by combining analysis machine learning complement information presented analyzer. In experiments on historical real-world kernel, we were able automatically re-produce or propose equivalent patches 85% human-made patches, rank them among top three candidates 64% cases five 74%.
منابع مشابه
Simulating Wax Crayons
We present a physically-inspired model of wax crayons, which synthesizes drawings from collections of userspecified strokes. Paper is represented by a height-field texture, and a crayon is modelled with a 2D mask that evolves as it interacts with the paper. The amount of wax deposition is computed based on the crayon contact profile, contact force, and friction. Previously deposited wax is smea...
متن کاملEnhancing Patching Performance Through Double Patching
Patching is an efficient bandwidth-sharing technique for video-on-demand systems. Its performance, however, has limitation: as the time distance to the last regular multicast enlarges, the patching cost for new requests increases and eventually, a new regular multicast must be scheduled to balance the cost. In this paper, we address this problem by proposing a new technique called Double Patchi...
متن کاملA Bidirectional Deposition Model of Wax Crayons
We present a physically-inspired model of wax crayons, which synthesizes drawings from collections of userspecified strokes. Paper is represented by a height-field texture, and a crayon is modelled with a 2D mask that evolves as it interacts with the paper. The amount of wax deposition is computed based on the crayon contact profile, contact force, and friction. Previously deposited wax is smea...
متن کاملClassifying Bugs with Interpolants
We present an approach to the classification of error messages in the context of static checking in the style of ESC/Java. The idea is to compute a semantics-based signature for each error message and then group together error messages with the same signature. The approach aims at exploiting modern verification techniques based on, e.g., Craig interpolation in order to generate small but signif...
متن کاملTransporting Bugs with Checkpoints
Virtual platform checkpointing is a technology by which the entire state of the software and hardware of an executing system is captured. Checkpoints can be used for many different purposes during software (and hardware) development. Here, we focus on how they are used to transport bugs between bug reporters and developers. Compared to describing the system state and steps needed to reproduce a...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
ژورنال
عنوان ژورنال: ACM Transactions on Software Engineering and Methodology
سال: 2023
ISSN: ['1049-331X', '1557-7392']
DOI: https://doi.org/10.1145/3548684